030d4718e5596884c766b6e3e5b1c54fe23f6dd8,src/java/org/apache/cassandra/cache/SerializingCache.java,SerializingCache,replace,#K#V#V#,198
Before Change
FreeableMemory mem = serialize(value);
if (mem == null)
return false; // out of memory. never mind.
V oldValue = deserialize(old);
boolean success = oldValue.equals(oldToReplace) && map.replace(key, old, mem);
if (success)
After Change
V oldValue;
// reference old guy before de-serializing
if (!old.reference())
return false; // we have already freed hence noop.
try
{
oldValue = deserialize(old);
}
finally
{